package com.audaque.encoding.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author mayong
 * @since 2024/3/19
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CallbackDTO {

    private String id;

    private String msgTime;

    // 通知类型：“CODE_ALL”为“全部赋码数据”；“CODE_CODED”为“成功赋码数据”；“CODE_UNCODED”为“未成功赋码数据”
    private String type;

    // 通知内容Json。其格式随通知类型单独定义
    private Content content;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Content {
        // 内部任务id。仅当通知类型为“CODE_ALL”、“CODE_CODED”、“CODE_UNCODED”时有效
        private String taskId;

        //结果文件id。仅当通知类型为“CODE_ALL”、“CODE_CODED”、“CODE_UNCODED”时有效。
        private String fileId;


        // 错误信息，不为空时可忽略对content的其他属性的处理。
        private String errMsg;
    }
}
